1. Field of the Invention
The present invention is directed in general to the field of computer storage networks. In one aspect, the present invention relates to a standalone cache memory device which is connected between one or more host machines and a storage device.
2. Description of the Related Art
Data storage technology over the years has evolved from a direct attached storage model (DAS) to using remote computer storage models, such as Network Attached Storage (NAS) and a Storage Area Network (SAN). With the direct storage model, the storage is directly attached to the workstations and application servers, but this creates numerous difficulties with the administration, backup, compliance and maintenance of the directly stored data. These difficulties are alleviated at least in part by separating the application server/workstations from the storage medium. For example, FIG. 1 depicts a typical NAS system 100 in which a number of PCs, workstations and application servers (clients) use a network 10 to access storage resources on a number of remote network attached storage and file servers (or filers). In the depicted system 100, each of the networked PC or workstation devices 12-14 and application servers 16-18 may act as a storage client that is connected to the network 10 by the appropriate routers 11 and switches 15 to remotely store and retrieve data with one or more NAS filers 1-6, which in turn are connected to the network 10 by the appropriate routers 9 and switches 7-8. Typically, the storage clients (e.g., 14) use an IP-based network protocol, such as CIFS and NFS, to communicate store, retrieve and modify files on an NAS filer (e.g., 5).
Conventional NAS devices are designed with data storage hardware components (including a plurality of hard disk drives, one or more processors for controlling access to the disk drives, I/O controller and high speed cache memory) and operating system and other software that provides data storage and access functions. Even with a high speed internal cache memory, the access response time for NAS devices continues to be outpaced by the faster processor speeds in the client devices 12-14, 16-18, especially where any one NAS device may be connected to a plurality of client storage devices. In part, this performance problem is caused by the lower cache hit rates that result from a combination of increased disk capacity and high-density mounting on the NAS storage device.
While a number of solutions have been proposed to address these problems, they are, for a variety of reasons, not entirely satisfactory. For example, faster disk drives have been developed, but the increased disk drive access speeds are not enough to overcome the performance gap. Other solutions have proposed increasing the size and speed of the cache memory at the NAS device(s), but this results in increased costs in terms of expense, chip size and power consumption, especially when dynamic random access memory is used. While there are cheaper forms of memory (such as non-volatile flash memory), the performance limitations of the cheaper memory (e.g., asymmetric read/write rates caused by relatively slow program rates) have made them unsuitable for providing a cache memory function. Accordingly, there is a need for a system and method for improving the disk storage access time to overcome the problems in the art, such as outlined above. Further limitations and disadvantages of conventional solutions will become apparent to one of skill in the art after reviewing the remainder of the present application with reference to the drawings and detailed description which follow.